/*
* Copyright© 2018 Shanxi Lu'an Taihang Laihui Net Tech co.,LTD.
*/
package com.laihuichuxing.netty.server.server.scanner;

import java.util.HashMap;
import java.util.Map;

/**
 * Description: 命令执行器管理者
 *
 * @author YangGuang
 * @since: 1.0
 * Create Date Time: 2018/7/4 17:30
 * Update Date Time:
 * @see
 */
public class InvokerHoler {

    /**
     * 命令调用器
     */
    private static Map<Short, Map<Short, Invoker>> invokers = new HashMap<>();

    /**
     * 添加命令调用
     *
     * @param module
     * @param cmd
     * @param invoker
     */
    public static void addInvoker(short module, short cmd, Invoker invoker) {
        Map<Short, Invoker> map = invokers.get(module);
        if (map == null) {
            map = new HashMap<>();
            invokers.put(module, map);
        }
        map.put(cmd, invoker);
    }


    /**
     * 获取命令调用
     *
     * @param module
     * @param cmd
     */
    public static Invoker getInvoker(short module, short cmd) {
        Map<Short, Invoker> map = invokers.get(module);
        if (map != null) {
            return map.get(cmd);
        }
        return null;
    }
}
